home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
telecomm
/
locdl11a.lzh
/
LOCALDL.SCP
< prev
next >
Wrap
Text File
|
1995-11-20
|
5KB
|
186 lines
» 4777
; ****************************************************************************
; *** RATSoft/ST Local Download Main Script v1.1a. November 20, 1995 ***
; *** Main Script: localdl.scp ***
; *** ***
; *** Developed and programmed by Daniel Hedberg of New Beat Development. ***
; ****************************************************************************
;
datafile$=CONFIG$(25)+"LDL_PATH.DAT"
temp$=CONFIG$(29)+"BATCHQUE.DAT"
PAGEBREAK=OFF
OUT "&90"
CENTER "&58 RATSoft/ST Local Download Script v1.1a (November 20, 1995) &50"
CENTER "Written by Daniel Hedberg of New Beat Development in RAT-Script"
OUT
IF EXIST(temp$)=FALSE
CENTER "&57 You have no files marked for download. Download aborted &50"
ELSE
OPEN(temp$,INPUT)
files%=0
filesize%=0
CENTER "&57 Checking Marked Files. Please Wait! &50";
REPEAT
files%=ADD(files%,1)
filesize$=READ$
filesize%=filesize%+VAL(filesize$)
scrap$=READ$
scrap$=READ$
scrap$=READ$
scrap$=READ$
UNTIL EOF=TRUE
CLOSE
IF EXIST(datafile$)=FALSE
OPEN(datafile$,OUTPUT)
WRITE "C:\"
CLOSE
ELSE
OPEN(datafile$,INPUT)
default$=READ$
CLOSE
ENDIF
_restart:
OUT "&90"
CENTER "&58 RATSoft/ST Local Download Script v1.1a (November 20, 1995) &50"
CENTER "Written by Daniel Hedberg of New Beat Development in RAT-Script"
OUT
OUT "Please enter a destination path for the marked file(s), or press [RETURN]"
OUT "to use the last used destination path: &57 "+UPPER$(default$)+" &50"
OUT
OUT " You have &57 "+STR$(files%)+" &50 file(s) marked, in &57 "+STR$(filesize%)+" &50 bytes."
OUT
_enter_destination_path:
OUT "Destination path: ";
dest_path$=INPUT$(58,TRUE)
start%=RINSTR(dest_path$,"\",1000)
length%=LEN(dest_path$)
length%=SUB(length%,start%)
IF length%>0
dest_path$=dest_path$+"\"
ENDIF
IF dest_path$=""
dest_path$=default$
ELSE IF MID$(dest_path$,2,2)<>":\"
OUT "Error! Invalid path."
OUT
GOTO _enter_destination_path
ENDIF
OUT
OUT "Are you sure? [Y/n/q] ";
_get_key1:
REPEAT
inkey$=KEY
UNTIL inkey$<>""
IF UPPER$(inkey$)="Y"
GOTO _continue1
ELSE IF inkey$=CHR$(13)
GOTO _continue1
ELSE IF UPPER$(inkey$)="N"
GOTO _restart
ELSE IF UPPER$(inkey$)="Q"
OUT
GOTO _quit
ELSE
GOTO _get_key1
ENDIF
_continue1:
dest_path$=UPPER$(dest_path$)
device$=MID$(dest_path$,1,3)
old_dir$=CUR_DIR$
OUT
OUT
CHECK_PATH(dest_path$)
CHDIR dest_path$
IF EXIST("*.*")=TRUE
_not_empty:
OUT "Warning! Destination directory is not empty."
OUT "Do you want to delete the files(s) in the directory? [y/N/v/q] ";
_get_key2:
REPEAT
inkey$=KEY
UNTIL inkey$<>""
IF UPPER$(inkey$)="V"
OUT
OUT
OUT "&58 Viewing files... &50"
OUT
mask$=dest_path$+"*.*"
f_loc%=ADD(DTA%,30)
stat%=FSFIRST(mask$,3)
PAGEBREAK=ON
DO UNTIL stat%<>FALSE
filename$=CHAR(f_loc%)
OUT dest_path$+filename$
stat%=FSNEXT
LOOP
PAGEBREAK=OFF
OUT
GOTO _not_empty
ELSE IF UPPER$(inkey$)="Y"
OUT
OUT
OUT "&58 Deleting files... &50"
OUT
mask$=dest_path$+"*.*"
f_loc%=ADD(DTA%,30)
stat%=FSFIRST(mask$,3)
DO UNTIL stat%<>FALSE
filename$=CHAR(f_loc%)
OUT dest_path$+filename$;
IF DOS(3,filename$)<>FALSE
OUT " - Error! File is write protected."
ENDIF
OUT
stat%=FSNEXT
LOOP
OUT
GOTO _continue2
ELSE IF inkey$=CHR$(13)
OUT
OUT
GOTO _continue2
ELSE IF UPPER$(inkey$)="N"
OUT
OUT
GOTO _continue2
ELSE IF UPPER$(inkey$)="Q"
OUT
GOTO _quit
ELSE
GOTO _get_key2
ENDIF
ENDIF
_continue2:
free%=DFREE
CHDIR old_dir$
IF free%<filesize%
OUT "Aborted! Not enough free space on drive "+MID$(device$,1,2)+"."
OUT
GOTO _enter_destination_path
ENDIF
OUT "&58 Copying files... &50"
OUT
OPEN(temp$,INPUT)
REPEAT
filesize$=READ$
source$=READ$
scrap$=READ$
scrap$=READ$
scrap$=READ$
start%=RINSTR(source$,"\",1000)+1
filename$=MID$(source$,start%,12)
dest$=dest_path$+filename$
OUT UPPER$(source$)+" -> "+UPPER$(dest$)
COPY(source$,dest$)
UNTIL EOF=TRUE
CLOSE
OPEN(datafile$,OUTPUT)
WRITE dest_path$
CLOSE
ENV "CM:[nque]"
DOS(3,temp$)
_quit:
PAGEBREAK=ONE
ENDIF
EXIT